home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -screenplay- / shareware / yatag / source / defines.h next >
C/C++ Source or Header  |  1999-04-20  |  7KB  |  180 lines

  1. // Hier habe ich mal sämtliche Definitionen untergebracht, weil ich im eigentlichem Main-Source
  2. // nicht mehr durchgeshen habe
  3. // @1998 Dreamworlds Development / Stefan Schulze / Thomas Schulze 
  4.  
  5.   // Timing-Konstante
  6.  
  7.   #define Timing 3
  8.  
  9.   // Definitionen der Grafikbank
  10.  
  11.   #define BlFighter (GfxTab)      // blauer Fighter
  12.   #define GrFighter (GfxTab+15)   // grüner Fighter
  13.   #define BlBomber (GfxTab+30)    // blauer Bomber
  14.   #define GrBomber (GfxTab+39)    // grüner Bomber
  15.   #define ExploFr1 (GfxTab+48)    // Explosion Frame 1
  16.   #define ExploFr2 (GfxTab+372)   // Explosion Frame 2
  17.   #define ExploFr3 (GfxTab+696)   // Explosion Frame 3
  18.   #define ExploFr4 (GfxTab+1020)  // Explosion Frame 4
  19.   #define SmokeFr1 (GfxTab+1344)  // Rauch Frame 1
  20.   #define SmokeFr2 (GfxTab+1353)  // Rauch Frame 2
  21.   #define SmokeFr3 (GfxTab+1362)  // Rauch Frame 3
  22.   #define SmokeFr4 (GfxTab+1387)  // Rauch Frame 4
  23.   #define SmokeFr5 (GfxTab+1436)  // Rauch Frame 5
  24.   #define Mauer (GfxTab+1485)     // Steinwand
  25.   #define BlLaser (GfxTab+1521)   // Laserkanone des blauen Spielers
  26.   #define GrLaser (GfxTab+1557)   // Laserkanone des grünen Spielers
  27.   #define Schild (GfxTab+1593)    // Schildgenerator
  28.   #define BlEnerg (GfxTab+1629)   // Energiezufuhr des blauen Spielers
  29.   #define GrEnerg (GfxTab+1665)   // Energiezufuhr des grünen Spielers
  30.   #define EnergZahl (GfxTab+1701) // Offsets der Zahlen für die Energieanzeige
  31.   #define NormalZahl (GfxTab+2701)// Offsets der normalen Zahlen für die Raumeranzeige
  32.   #define AktivZahl (GfxTab+3701) // Offsets der aktiven Zahlen für die Raumeranzeige
  33.   #define BefehlZahl (GfxTab+4701)// Offsets der befehlierten Zahlen für die Raumeranzeige
  34.   #define BlWinner (GfxTab+5701)  // Schriftzug Winner in Blau
  35.   #define GrWinner (GfxTab+7758)  // Schriftzug Winner in Grün
  36.   #define BlLooser (GfxTab+6755)  // Schriftzug Looser in Blau
  37.   #define GrLooser (GfxTab+8812)  // Schriftzug Looser in Grün
  38.   #define DrawGame (GfxTab+9815)  // Schriftzug DrawGame (unentschieden)
  39.  
  40.   // Objektdefinitionen  (für struct Objekt.Typ)
  41.  
  42.   #define Frei 0
  43.   #define Funke 1
  44.   #define Explosion 2
  45.   #define Rauch 3
  46.  
  47.   // Fliegerdefinitionen  (für struct Raumer.Typ)
  48.  
  49.   #define Tot 0
  50.   #define Fighter 1
  51.   #define SFighter 2
  52.   #define Bomber 3
  53.   #define SBomber 4
  54.  
  55.   // Befehldefinitionen (für struct Raumer.Befehl)
  56.  
  57.   #define Nichts 0
  58.   #define Heimwaerts 1
  59.   #define Anhalten 2
  60.   #define Umweg 3         // Nur für Heimwaerts, falls direkter Weg versperrt ist
  61.  
  62.   // Frontendefinitionen  (für struct Raumer.Seite)
  63.  
  64.   #define Gruen 0
  65.   #define Blau 1
  66.  
  67.   // Standartlebensdauer eines Objekts (für struct Objekt.MaxZeit)
  68.  
  69.   #define LBStFunken 14
  70.   #define LBStExplo 7
  71.   #define LBStSmoke 6
  72.  
  73.   // Definition der Explosionsgrößen
  74.  
  75.   #define Mini 5
  76.   #define Winzig 1
  77.   #define Mittel 2
  78.   #define Gross 3
  79.   #define GeradezuUnglaublich 4
  80.  
  81.   // Bombengrößen (struct Bombe.Typ)
  82.  
  83.   #define BoNormal 1
  84.   #define BoSuper 2
  85.  
  86.   // LaserDefs
  87.  
  88.   #define LA_Normal 1              // Typen
  89.   #define LA_Stark 2
  90.   #define LA_DaNormal 3            // Anim-Dauer
  91.   #define LA_DaStark 4
  92.  
  93.   // Laser-Stationen-Defs
  94.  
  95.   #define LS_MaxEnergie 80         // Maximale Energie
  96.   #define LS_SchussEntf 120        // Maximale Schussreichweite
  97.   #define LS_kaputt 30             // Grenze, bis zu der die LS noch funktioniert
  98.  
  99.   // Definitionen für AHI-Quatsch
  100.  
  101.   #define CHANNELS   4             // Anzahl der Kanäle
  102.   #define MAXSAMPLES 8             // Max. Anzahl der Samples
  103.   #define INT_FREQ   50            // ?????????? :}
  104.  
  105.   // Sample-Definitionen
  106.  
  107.   #define SND_StatLaser SmpID[0]   // Sample: Stationslaser
  108.   #define SND_BombExplo SmpID[1]   // Sample: Bombenexplosionen
  109.   #define SND_RaumerExplo SmpID[2] // Sample: Fliegerexplosionen (und anders)
  110.   #define SND_FightLaser SmpID[3]  // Sample: Fighterlaser
  111.   #define SND_SFightLaser SmpID[4] // Sample: Laser des Superfighters
  112.   #define SND_BombShot SmpID[5]    // Sample: Abschuss einer Bombe
  113.   #define SND_Schaf SmpID[6]       // Sample: MÄÄÄÄÄÄÄÄÄÄH!
  114.   #define SND_Knaller SmpID[7]     // Sample: Startsample
  115.  
  116.   // ------------------------------------------------------------------------------------------------
  117.  
  118. #ifndef TILT
  119.  
  120.   #define TILT TRUE
  121.  
  122.   // Struktur für Objektmanagement
  123.  
  124.   struct Objekt {
  125.       UBYTE Typ;        // Typ des Objekts (Frei/Funke/Explosion/Rauch)
  126.       LONG Zeit;        // noch verbleibende Lebenszeit
  127.       LONG MaxZeit;     // maximale Lebenszeit (dadurch wird dann das akt. Frame berechnet)
  128.       LONG RealX;       // X-Koordinate in 256steln eines Pixels
  129.       LONG RealY;       // Y-Koordinate in 256steln eines Pixels
  130.       LONG KursX;       // Der Kurs in X-Richtung in 256steln eines Pixels
  131.       LONG KursY;       // Der Kurs in Y-Richtung in 256steln eines Pixels
  132.       LONG Pause;       // Wartezeit in Schritten bis zum Ausbruch
  133.   };
  134.  
  135.   // Struktur zur Verwaltung aller bewegbaren Übeltäter
  136.  
  137.   struct Raumer {
  138.       UBYTE Typ;        // Typ des Raumes (Tot/Fighter/SFighter/Bomber/SBomber)
  139.       UBYTE Seite;      // Welcher Mannschaft gehört er an (Gruen/Blau)
  140.       UBYTE Befehl;     // Befehl des Raumers (Nichts, Heimwaerts, Anhalten, Umweg)
  141.       UBYTE GerAktiv;   // Wurde er gerade eben aktiviert/deaktiviert (wegen Pause, sonst -> Zu schnelles Drücken)
  142.       UBYTE GerBall;    // Hat der gerade geballert? (Pause bis zum nächsten Schuss)
  143.       LONG Energie;     // aktuelle Energie des Raumers (0-MaxEnergie)
  144.       LONG MaxEnergie;  // maximale Energie des Raumers
  145.       LONG RealX;       // X-Koordinate des Raumers (in 256steln eines Pixels)
  146.       LONG RealY;       // Y-Koordinate des Raumers (ebenfalls. Logo, oder?)
  147.       LONG KursX;       // Kurs in X-Richtung (in 256steln eines Pixels)
  148.       LONG KursY;       // Kurs in Y-Richtung (in 256steln eines Pixels)
  149.       BOOL Aktiv;       // Ist der Fliescher gerade aktiviert (also lenkbar)?
  150.       BOOL Raucher;     // Liegt das Rind gerade im Sterben? (also explodiert gleich)
  151.       BOOL Ballern;     // Kann der noch bombatisieren? (gilt nur für (S)Bomber, bei Fighter immer TRUE)
  152.   };
  153.  
  154.   struct Bombe {
  155.       UBYTE Typ;          // Typ der Bombe (Nix/Normal/Dick)
  156.       UBYTE Dauer;        // Lebensdauer in Schritten
  157.       UBYTE Seite;        // Welche Seite hat die Bombe abgefeuert
  158.       LONG  RealX;        // X-Koordinate in 256steln eines Pixels
  159.       LONG  RealY;        // Y-Koordinate in 256steln eines Pixels
  160.       LONG  KursX;        // X-Kurs in 256steln eines Pixels
  161.       LONG  KursY;        // Y-Kurs in 256steln eines Pixels
  162.   };
  163.  
  164.   struct Laser {
  165.     LONG Typ;            // Stärke
  166.     LONG Frame;          // Aktuelles Frame
  167.     LONG StartX;          // Startpunkt - X-Koordinate
  168.     LONG StartY;          // Startpunkt - Y-Koordinate
  169.     LONG ZielX;           // Zielpunkt - X-Koordinate
  170.     LONG ZielY;           // Zielpunkt - Y-Koordinate
  171.   };
  172.  
  173.   struct LaserSt {
  174.     LONG RealX;           // X-Position
  175.     LONG RealY;           // Y-Position
  176.     LONG Energie;         // Was die Station noch aushält
  177.     LONG Pause;           // Pause bis zum nächsten Schuss
  178.   };
  179. #endif
  180.